El tamaño de buffer en las interfaces de audio para reducir la latencia

Quiero grabar mi voz y meterla en el ordenador

Si has llegado aquí es porque quieres grabar cosas, y por lo tanto tienes una interfaz de audio o una tarjeta de sonido. El ordenador tiene una tarjeta de sonido dentro, pero la gente prefiere comprar una inferfaz de audio aparte para mejorar la calidad y grabar cosas de una forma más «profesional». Si no lo sabías, una interfaz de audio es el cacharro que nos permite grabar y reproducir sonido conectándolo a nuestro ordenador. Convierte los sonidos del mundo real en información digital que el ordenador entiende y puede guardar. Aquí tienes una, vale para grabar micrófono y guitarra al mismo tiempo. Por detrás tiene un cable USB, lo enchufas al ordenador, instalas unos drivers del fabricante y listo.

Crackling Noises Scarlett Solo / Windows 7 64bit - forum ...

¿Qué tiene que ver esto con los samples y los buffers?

Grabar sonido no tiene mucho misterio, enchufas el micrófono a una de las entradas, conectas la interfaz al ordenador y ale, a grabar. Pero no es tan fácil. Como el ordenador no puede guardar una sonido analógico (voz, sonido de un instrumento) al milímetro, tiene que tomar una cantidad de muestras (fotos) de la canción cada segundo para guardarlo en el ordenador como información digital. Estas muestras también se llaman samples y, cuantas más fotos tomamos a la canción por segundo, más fiel será la canción grabada con respecto a la original.

Las interfaces de audio (el cacharro que nos permite grabar y reproducir sonido conectándolo a nuestro ordenador) tienen unas memorias para guardar estas muestras temporalmente hasta que el ordenador las coge, llamadas buffers. El tamaño de estas memorias se mide en muestras o samples. Los valores más habituales que nos permite seleccionar la interfaz de audio suelen ser de 48, 64, 96, 128, 256, 512, muestras, por ejemplo.

Los buffers y las colas de los parques de atracciones

Aprendiendo de las colas en los parques de atracciones ...

Una idea que se parece a la del buffer es la cola de una montaña rusa. La cola es un espacio temporal donde la gente espera por orden para subirse.

  • A la entrada, la gente que llega para montarse llega a un ritmo diferente (a veces muchos de golpe), a veces nadie
  • A la salida, la montaña rusa carga a la gente a una velocidad constante. Cada x minutos viene la vagoneta y cabe una cantidad determinada de personas.

La cantidad de gente que cabe en la cola, es el tamaño del buffer.

Que implica esto:

  • Si no se pudiera hacer cola, la gente que llegara se subiría inmediatamente (no hay latencia) pero la que no cabe, se iría (perdemos calidad). Además, la vagoneta podría llegar y que no hubiera nadie llegando en ese preciso instante, y se iría vacía (caida de sonido)
  • Si la cola fuera muy grande, la gente podría esperar, tardaría un tiempo en llegar a montarse (latencia), pero siempre habría gente saliendo de la cola, por lo que la vagoneta de la montaña rusa siempre se llenaría en todos los viajes, todo el mundo se podría montar y nunca iría vacía (mejora la calidad).

¿Qué es la latencia?

La latencia es un retardo en el procesamiento de audio en tiempo real. Es decir, el tiempo que pasa entre que creamos el sonido y que este sonido está disponible para ser escuchado o grabado. Se suele medir en milisegundos (ms). Esto es debido a que el ordenador tiene que procesar el audio de su tarjeta de sonido o interfaz de audio, lo cual le lleva un tiempo determinado.

¿Qué tamaño de buffer elegimos?

Esto depende de varios factores, como:

  • La potencia del ordenador (CPU, RAM)
  • La interfaz que estamos utilizando
  • El tipo de conexión al ordenador
  • Los canales simultáneos que queremos utilizar (grabar varios instrumentos al mismo tiempo)

Elegir un valor u otro afectará a la latencia, el crepitar de audio (crackling) y las pérdidas o caidas de señal (dropout). No hay un valor mejor que otro, dependerá de lo que queramos hacer. Al seleccionar un valor, perderemos en algún aspecto y ganaremos en otro.

¿Qué pasa si reducimos el tamaño de buffer?

Si reducimos el tamaño de su búfer:

  • Reduciremos la latencia (el retardo)
  • El ordenador tendrá una mayor carga de trabajo
  • Podría ocasionar causar fallos en el audio de audio o interrupciones. Por otro lado, la calidad del audio bajará y tendrá menos distorsión.
  • Es lo que más nos interesa si queremos monitorear (escuchar en tiempo real) lo que estamos grabando.

¿Qué pasa si aumentamos el tamaño de buffer?

Si aumentamos el tamaño de buffer:

  • Más información puede ir guardando la interfaz de mientras que el ordenador las va recogiendo
  • Tendremos más tiempo para capturar el audio sin distorsión, y la grabación será más precisa.
  • El ordenador estará menos estresado
  • La latencia (el retardo) aumentará, con lo que el retardo entre lo que grabamos y lo que escuchamos o grabamos aumentará, haciendo a veces imposible tocar y escuchar en tiempo real.
  • Si necesitamos grabar más pistas de audio simultáneamente (por ejemplo) guitarra y voz en entradas diferentes, es posible que necesitemos un tamaño de búfer más grande para grabar con precisión la señal sin distorsión y latencia limitada.

Deja un comentario